home *** CD-ROM | disk | FTP | other *** search
/ Aminet 2 / Aminet AMIGA CDROM (1994)(Walnut Creek)[Feb 1994][W.O. 44790-1].iso / Aminet / dev / misc / ImageFXDevKit.lha / sdev / include / scan / prev.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-01-20  |  2.3 KB  |  77 lines

  1. /*
  2.  * Scan 'C' Header File
  3.  * Written by Thomas Krehbiel
  4.  *
  5.  * Preview modules.
  6.  *
  7.  */
  8.  
  9. #ifndef SCAN_PREV_H
  10.  
  11.  
  12. /*
  13.  * Colors for the VM_Color() function:
  14.  */
  15.  
  16. enum VM_Col {
  17.    VCOL_COLOR = 0,      /* 24-Bit Color */
  18.    VCOL_GREY,           /* 8-Bit Grey */
  19.    VCOL_RED,            /* 8-Bit Red */
  20.    VCOL_GREEN,          /* 8-Bit Green */
  21.    VCOL_BLUE,           /* 8-Bit Blue */
  22.    VCOL_3BIT,           /* Obsolete - do not use */
  23.    VCOL_1BIT            /* Obsolete - do not use */
  24. };
  25.  
  26. /*
  27.  * Structure returned by VM_Identification() function:
  28.  */
  29. struct PreviewInfo {
  30.    ULONG       Flags;         /* Various flags - see below */
  31.    int       (*Open)(struct NewScreen *, struct Screen **, struct Window **);       /* Custom open hook */
  32.    int       (*Close)(struct Screen *, struct Window *);      /* Custom close hook */
  33.  
  34.    /* below here is not implemented and only for possible future expansion */
  35.  
  36.    int       (*Point)();      /* Custom point drawing hook */
  37.    int       (*Box)();        /* Custom box drawing hook */
  38.    int       (*Line)();       /* Custom line drawing hook */
  39.    int       (*Bezier)();     /* Custom bezier curve drawing hook */
  40.    int       (*PutBrush)();   /* Custom brush drawing hook */
  41.    int       (*RemBrush)();   /* Custom brush erasing hook */
  42.  
  43.    WORD        AspectX,       /* Horizontal pixel aspect ratio */
  44.                AspectY;       /* Vertical pixel aspect ratio */
  45.  
  46.    UBYTE       GhostFrontPen, /* Ghosted area front pen (unused) */
  47.                GhostBackPen,  /* Ghosted area back pen (unused) */
  48.                pad1,
  49.                pad2;
  50.  
  51.    ULONG       Reserved[30];  /* Reserved for future expansion */
  52. };
  53.  
  54. #define VF_NODBUF       0x01  /* Do not double-buffer preview */
  55. #define VF_FULLWIDTH    0x02  /* Redraw full width only (eg. HAM) */
  56. #define VF_PRIVATE      0x04  /* Private - do not touch ever! */
  57. #define VF_WORDALIGN    0x08  /* All renders should be word-aligned */
  58. #define VF_NOBRUSH      0x10  /* Preview can't support brushes */
  59.  
  60. #ifdef SCANPRIVATE
  61.  
  62. /*
  63.  * Palette Modes (Internal Use Only)
  64.  */
  65. enum PMode_Tags {
  66.    PMODE_NORMAL = 0,    /* Nothing goin' on */
  67.    PMODE_COPY,          /* Copying */
  68.    PMODE_SWAP,          /* Swapping */
  69.    PMODE_SPREAD,        /* Spreading */
  70.    PMODE_RANGE          /* Ranging */
  71. };
  72.  
  73. #endif
  74.  
  75. #define SCAN_PREV_H
  76. #endif
  77.